
#ifndef _HELIX_STRING_UTIL_H_
#define _HELIX_STRING_UTIL_H_

#include <string>
#include "../Helix.h"

using namespace std;


//TODO: These functions don't currently work.  They attempt to create string objects
//and return them, but they are not created dynamically and are thus deallocated when
//their respective function ends.  Trying to return the strings throws an exception.

namespace helix		//Put this in the helix namespace
{
	#define WHITE_SPACE_CHARACTERS "\r\t\n "

	class MY_CLASS StringUtil
	{
	public:
		string trim(string str);	//Trims whitespace characters from beginning and end of a string
		string firstWord(string str);	//Returns the first word in a string (first string between whitespace characters)

		static int compareIgnoreCase(const string *s1, const string *s2) ;


		static void replace(string *origString, const char* charsToReplace, const char *replaceWith);

	};
}

#endif